Proximity switch assembly and calibration method therefor

ABSTRACT

A proximity switch assembly and method for detecting activation of a proximity switch assembly and calibrating the switch assembly. The assembly includes proximity switches each having a proximity sensor providing a sense activation field and control circuitry processing the activation field to sense activation. The control circuitry generates an activation output when a differential change in the signal exceeds a threshold and distinguishes an activation from an exploration of the plurality of switches. The control circuit further determines a rate of change and generates an output when the rate of change exceeds a threshold rate to enable activation of a switch and performs a calibration of the signals to reduce effects caused by changes in condensation.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 13/721,886, filed on Dec. 20, 2012, entitled “PROXIMITY SWITCHASSEMBLY AND ACTIVATION METHOD USING RATE MONITORING,” which is acontinuation-in-part of U.S. patent application Ser. No. 13/444,374,filed on Apr. 11, 2012, entitled “PROXIMITY SWITCH ASSEMBLY ANDACTIVATION METHOD.” The aforementioned related applications are herebyincorporated by reference.

FIELD OF THE INVENTION

The present invention generally relates to switches, and moreparticularly relates to proximity switches having an enhanceddetermination of switch activation.

BACKGROUND OF THE INVENTION

Automotive vehicles are typically equipped with various user actuatableswitches, such as switches for operating devices including poweredwindows, headlights, windshield wipers, moonroofs or sunroofs, interiorlighting, radio and infotainment devices, and various other devices.Generally, these types of switches need to be actuated by a user inorder to activate or deactivate a device or perform some type of controlfunction. Proximity switches, such as capacitive switches, employ one ormore proximity sensors to generate a sense activation field and sensechanges to the activation field indicative of user actuation of theswitch, typically caused by a user's finger in close proximity orcontact with the sensor. Capacitive switches are typically configured todetect user actuation of the switch based on comparison of the senseactivation field to a threshold.

Switch assemblies often employ a plurality of capacitive switches inclose proximity to one another and generally require that a user selecta single desired capacitive switch to perform the intended operation. Insome applications, such as use in an automobile, the driver of thevehicle has limited ability to view the switches due to driverdistraction. In such applications, it is desirable to allow the user toexplore the switch assembly for a specific button while avoiding apremature determination of switch activation. Thus, it is desirable todiscriminate whether the user intends to activate a switch, or is simplyexploring for a specific switch button while focusing on a higherpriority task, such as driving, or has no intent to activate a switch.

Capacitive switches may be manufactured using thin film technology inwhich a conductive ink mixed with a solvent is printed and cured toachieve an electrical circuit layout. Capacitive switches can beadversely affected by condensation. For example, as humidity changes,changes in condensation may change the capacitive signal. The change incondensation may be sufficient to trigger a faulty activation.

Accordingly, it is desirable to provide for a proximity switcharrangement which enhances the use of proximity switches by a person,such as a driver of a vehicle. It is further desirable to provide for aproximity switch arrangement that reduces or prevents false activationsdue to condensation events.

SUMMARY OF THE INVENTION

According to one aspect of the present invention, a method ofcalibrating a proximity switch is provided. The method includes thesteps of generating an activation field with a proximity sensor andmonitoring amplitude of a signal generated in response to the activationfield. The method also includes the steps of detecting the signalamplitude exceeding a threshold for a time period and calibrating thesignal by adjusting the signal to a predefined level when the signalamplitude exceeds the threshold for the time period and reaches a peakvalue.

According to another aspect of the present invention, a proximity switchassembly is provided. The proximity switch assembly includes a proximitysensor providing an activation field. The proximity switch assembly alsoincludes control circuitry monitoring a signal responsive to theactivation signal, determining when the signal exceeds a threshold for atime period, and calibrating the signal when the maximum signal exceedsthe threshold for the time period and reaches a peak value.

According to a further aspect of the present invention, a proximityswitch assembly is provided. The proximity switch assembly includes aplurality of proximity switches each including a proximity sensorproviding an activation field. The proximity switch assembly includescontrol circuitry processing the activation field of each proximityswitch to sense activation. The control circuitry monitors signalsresponsive to the activation fields, determines when a maximum signalexceeds a threshold for a time period, and calibrates the signals whenthe maximum signal exceeds the threshold for the time period and reachesa peak value.

These and other aspects, objects, and features of the present inventionwill be understood and appreciated by those skilled in the art uponstudying the following specification, claims, and appended drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 is a perspective view of a passenger compartment of an automotivevehicle having an overhead console employing a proximity switchassembly, according to one embodiment;

FIG. 2 is an enlarged view of the overhead console and proximity switchassembly shown in FIG. 1;

FIG. 3 is an enlarged cross-sectional view taken through line III-III inFIG. 2 showing an array of proximity switches in relation to a user'sfinger;

FIG. 4 is a schematic diagram of a capacitive sensor employed in each ofthe capacitive switches shown in FIG. 3;

FIG. 5 is a block diagram illustrating the proximity switch assembly,according to one embodiment;

FIG. 6 is a graph illustrating the signal count for one channelassociated with a capacitive sensor showing an activation motionprofile;

FIG. 7 is a graph illustrating the signal count for two channelsassociated with the capacitive sensors showing a slidingexploration/hunting motion profile;

FIG. 8 is a graph illustrating the signal count for a signal channelassociated with the capacitive sensors showing a slow activation motionprofile;

FIG. 9 is a graph illustrating the signal count for two channelsassociated with the capacitive sensors showing a fast slidingexploration/hunting motion profile;

FIG. 10 is a graph illustrating the signal count for three channelsassociated with the capacitive sensors in an exploration/hunting modeillustrating a stable press activation at the peak, according to oneembodiment;

FIG. 11 is a graph illustrating the signal count for three channelsassociated with the capacitive sensors in an exploration/hunting modeillustrating stable press activation on signal descent below the peak,according to another embodiment;

FIG. 12 is a graph illustrating the signal count for three channelsassociated with the capacitive sensors in an exploration/hunting modeillustrating increased stable pressure on a pad to activate a switch,according to a further embodiment;

FIG. 13 is a graph illustrating the signal count for three channelsassociated with the capacitive sensors in an exploration mode andselection of a pad based on increased stable pressure, according to afurther embodiment;

FIG. 14 is a state diagram illustrating five states of the capacitiveswitch assembly implemented with a state machine, according to oneembodiment;

FIG. 15 is a flow diagram illustrating a routine for executing a methodof activating a switch of the switch assembly, according to oneembodiment;

FIG. 16 is a flow diagram illustrating the processing of the switchactivation and switch release;

FIG. 17 is a flow diagram illustrating logic for switching between theswitch none and switch active states;

FIG. 18 is a flow diagram illustrating logic for switching from theactive switch state to the switch none or switch threshold state;

FIG. 19 is a flow diagram illustrating a routine for switching betweenthe switch threshold and switch hunting states;

FIG. 20 is a flow diagram illustrating a virtual button methodimplementing the switch hunting state;

FIG. 21 is a graph illustrating the signal count for a signal channelassociated with a capacitive sensor experiencing condensation effects;

FIG. 22 is a graph illustrating the signal count for a signal channelassociated with a capacitive sensor employing threshold based ratemonitoring, according to one embodiment;

FIG. 23 is a flow diagram illustrating a routine for executing ratemonitoring for enabling activation of a proximity switch, according toone embodiment;

FIG. 24 is a flow diagram illustrating an instant recalibration routinefor quickly recalibrating the signal count, according to one embodiment;

FIG. 25 is a flow diagram illustrating a real-time calibration routinefor providing ongoing drift compensation to the signal count, accordingto one embodiment;

FIGS. 26A and 26B are graphs illustrating one example of signal countsfor a plurality of signal channels showing instant positiverecalibration with the instant recalibration routine; and

FIGS. 27A and 27B are graphs illustrating another example of signalcounts for a plurality of channels illustrating negative recalibrationwith the instant recalibration routine.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As required, detailed embodiments of the present invention are disclosedherein; however, it is to be understood that the disclosed embodimentsare merely exemplary of the invention that may be embodied in variousand alternative forms. The figures are not necessarily to a detaileddesign; some schematics may be exaggerated or minimized to show functionoverview. Therefore, specific structural and functional detailsdisclosed herein are not to be interpreted as limiting, but merely as arepresentative basis for teaching one skilled in the art to variouslyemploy the present invention.

Referring to FIGS. 1 and 2, the interior of an automotive vehicle 10 isgenerally illustrated having a passenger compartment and a switchassembly 20 employing a plurality of proximity switches 22 having switchactivation monitoring and determination and switch calibration,according to one embodiment. The vehicle 10 generally includes anoverhead console 12 assembled to the headliner on the underside of theroof or ceiling at the top of the vehicle passenger compartment,generally above the front passenger seating area. The switch assembly 20has a plurality of proximity switches 22 arranged close to one anotherin the overhead console 12, according to one embodiment. The variousproximity switches 22 may control any of a number of vehicle devices andfunctions, such as controlling movement of a sunroof or moonroof 16,controlling movement of a moonroof shade 18, controlling activation ofone or more lighting devices such as interior map/reading and domelights 30, and various other devices and functions. However, it shouldbe appreciated that the proximity switches 22 may be located elsewhereon the vehicle 10, such as in the dash panel, on other consoles such asa center console, integrated into a touch screen display 14 for a radioor infotainment system such as a navigation and/or audio display, orlocated elsewhere onboard the vehicle 10 according to various vehicleapplications.

The proximity switches 22 are shown and described herein as capacitiveswitches, according to one embodiment. Each proximity switch 22 includesat least one proximity sensor that provides a sense activation field tosense contact or close proximity (e.g., within one millimeter) of a userin relation to the one or more proximity sensors, such as a swipingmotion by a user's finger. Thus, the sense activation field of eachproximity switch 22 is a capacitive field in the exemplary embodimentand the user's finger has electrical conductivity and dielectricproperties that cause a change or disturbance in the sense activationfield as should be evident to those skilled in the art. However, itshould also be appreciated by those skilled in the art that additionalor alternative types of proximity sensors can be used, such as, but notlimited to, inductive sensors, optical sensors, temperatures sensors,resistive sensors, the like, or a combination thereof. Exemplaryproximity sensors are described in the Apr. 9, 2009, ATMEL® TouchSensors Design Guide, 10620 D-AT42-04/09, the entire reference herebybeing incorporated herein by reference.

The proximity switches 22 shown in FIGS. 1 and 2 each provide control ofa vehicle component or device or provide a designated control function.One or more of the proximity switches 22 may be dedicated to controllingmovement of a sunroof or moonroof 16 so as to cause the moonroof 16 tomove in an open or closed direction, tilt the moonroof, or stop movementof the moonroof based upon a control algorithm. One or more otherproximity switches 22 may be dedicated to controlling movement of amoonroof shade 18 between open and closed positions. Each of themoonroof 16 and shade 18 may be actuated by an electric motor inresponse to actuation of the corresponding proximity switch 22. Otherproximity switches 22 may be dedicated to controlling other devices,such as turning an interior map/reading light 30 on, turning an interiormap/reading light 30 off, turning a dome lamp on or off, unlocking atrunk, opening a rear hatch, or defeating a door light switch.Additional controls via the proximity switches 22 may include actuatingdoor power windows up and down. Various other vehicle controls may becontrolled by way of the proximity switches 22 described herein.

Referring to FIG. 3, a portion of the proximity switch assembly 20 isillustrated having an array of three serially arranged proximityswitches 22 in close relation to one another in relation to a user'sfinger 34 during use of the switch assembly 20. Each proximity switch 22includes one or more proximity sensors 24 for generating a senseactivation field. According to one embodiment, each of the proximitysensors 24 may be formed by printing conductive ink onto the top surfaceof the polymeric overhead console 12. One example of a printed inkproximity sensor 24 is shown in FIG. 4 generally having a driveelectrode 26 and a receive electrode 28 each having interdigitatedfingers for generating a capacitive field 32. It should be appreciatedthat each of the proximity sensors 24 may be otherwise formed such as byassembling a preformed conductive circuit trace onto a substrateaccording to other embodiments. The drive electrode 26 receives squarewave drive pulses applied at voltage V_(I). The receive electrode 28 hasan output for generating an output voltage V_(O). It should beappreciated that the electrodes 26 and 28 may be arranged in variousother configurations for generating the capacitive field as theactivation field 32.

In the embodiment shown and described herein, the drive electrode 26 ofeach proximity sensor 24 is applied with voltage input V_(I) as squarewave pulses having a charge pulse cycle sufficient to charge the receiveelectrode 28 to a desired voltage. The receive electrode 28 therebyserves as a measurement electrode. In the embodiment shown, adjacentsense activation fields 32 generated by adjacent proximity switches 22overlap slightly, however, overlap may not exist according to otherembodiments. When a user or operator, such as the user's finger 34,enters an activation field 32, the proximity switch assembly 20 detectsthe disturbance caused by the finger 34 to the activation field 32 anddetermines whether the disturbance is sufficient to activate thecorresponding proximity switch 22. The disturbance of the activationfield 32 is detected by processing the charge pulse signal associatedwith the corresponding signal channel. When the user's finger 34contacts two activation fields 32, the proximity switch assembly 20detects the disturbance of both contacted activation fields 32 viaseparate signal channels. Each proximity switch 22 has its own dedicatedsignal channel generating charge pulse counts which is processed asdiscussed herein.

Referring to FIG. 5, the proximity switch assembly 20 is illustratedaccording to one embodiment. A plurality of proximity sensors 24 areshown providing inputs to a controller 40, such as a microcontroller.The controller 40 may include control circuitry, such as amicroprocessor 42 and memory 48. The control circuitry may include sensecontrol circuitry processing the activation field of each sensor 22 tosense user activation of the corresponding switch by comparing theactivation field signal to one or more thresholds pursuant to one ormore control routines. It should be appreciated that other analog and/ordigital control circuitry may be employed to process each activationfield, determine user activation, and initiate an action. The controller40 may employ a QMatrix acquisition method available by ATMEL®,according to one embodiment. The ATMEL acquisition method employs aWINDOWS® host C/C++ compiler and debugger WinAVR to simplify developmentand testing the utility Hawkeye that allows monitoring in real-time theinternal state of critical variables in the software as well ascollecting logs of data for post-processing.

The controller 40 provides an output signal to one or more devices thatare configured to perform dedicated actions responsive to correctactivation of a proximity switch. For example, the one or more devicesmay include a moonroof 16 having a motor to move the moonroof panelbetween open and closed and tilt positions, a moonroof shade 18 thatmoves between open and closed positions, and lighting devices 30 thatmay be turned on and off Other devices may be controlled such as a radiofor performing on and off functions, volume control, scanning, and othertypes of devices for performing other dedicated functions. One of theproximity switches 22 may be dedicated to actuating the moonroof closed,another proximity switch 22 may be dedicated to actuating the moonroofopen, and a further switch 22 may be dedicated to actuating the moonroofto a tilt position, all of which would cause a motor to move themoonroof to a desired position. The moonroof shade 18 may be opened inresponse to one proximity switch 22 and may be closed responsive toanother proximity switch 22.

The controller 40 is further shown having an analog to digital (A/D)comparator 44 coupled to the microprocessor 42. The A/D comparator 44receives the voltage output V_(O) from each of the proximity switches22, converts the analog signal to a digital signal, and provides thedigital signal to the microprocessor 42. Additionally, controller 40includes a pulse counter 46 coupled to the microprocessor 42. The pulsecounter 46 counts the charge signal pulses that are applied to eachdrive electrode of each proximity sensor, performs a count of the pulsesneeded to charge the capacitor until the voltage output V_(O) reaches apredetermined voltage, and provides the count to the microprocessor 42.The pulse count is indicative of the change in capacitance of thecorresponding capacitive sensor. The controller 40 is further showncommunicating with a pulse width modulated drive buffer 15. Thecontroller 40 provides a pulse width modulated signal to the pulse widthmodulated drive buffer 15 to generate a square wave pulse train V_(I)which is applied to each drive electrode of each proximity sensor/switch22. The controller 40 processes one or more control routines 100 storedin memory 48 to monitor and make a determination as to activation of oneof the proximity switches. The control routines may include a routinefor executing a method of activating a proximity switch using ratemonitoring to reduce or eliminate adverse effects caused bycondensation. The controller 40 further processes calibration routines400 and 500 stored in memory 48 to calibrate and recalibrate the signalcount to further reduce or eliminate adverse effects caused bycondensation. The calibration routines may include an instantrecalibration routine 400 and a real-time calibration routine 500, whichmay be considered as separate calibration modules, according to oneembodiment. The calibration routines quickly calibrate the signalsassociated with the proximity switches when the adverse effects ofcondensation are present to quickly allow for activation of theproximity switches with delay due to minimal switch lockout.

In FIGS. 6-13, the change in sensor charge pulse counts shown as Δsensor count for a plurality of signal channels associated with aplurality of proximity switches 22, such as the three switches 22 shownin FIG. 3, is illustrated according to various examples. The change insensor charge pulse count is the difference between an initializedreferenced count value without any finger or other object present in theactivation field and the corresponding sensor reading. In theseexamples, the user's finger enters the activation fields 32 associatedwith each of three proximity switches 22, generally one sense activationfield at a time with overlap between adjacent activation fields 32 asthe user's finger moves across the array of switches. Channel 1 is thechange (Δ) in sensor charge pulse count associated with a firstcapacitive sensor 24, channel 2 is the change in sensor charge pulsecount associated with the adjacent second capacitive sensor 24, andchannel 3 is the change in sensor charge pulse count associated with thethird capacitive sensor 24 adjacent to the second capacitive sensor. Inthe disclosed embodiment, the proximity sensors 24 are capacitivesensors. When a user's finger is in contact with or close proximity of asensor 24, the finger alters the capacitance measured at thecorresponding sensor 24. The capacitance is in parallel to the untouchedsensor pad parasitic capacitance, and as such, measures as an offset.The user or operator induced capacitance is proportional to the user'sfinger or other body part dielectric constant, the surface exposed tothe capacitive pad, and is inversely proportional to the distance of theuser's limb to the switch button. According to one embodiment, eachsensor is excited with a train of voltage pulses via pulse widthmodulation (PWM) electronics until the sensor is charged up to a setvoltage potential. Such an acquisition method charges the receiveelectrode 28 to a known voltage potential. The cycle is repeated untilthe voltage across the measurement capacitor reaches a predeterminedvoltage. Placing a user's finger on the touch surface of the switch 24introduces external capacitance that increases the amount of chargetransferred each cycle, thereby reducing the total number of cyclesrequired for the measurement capacitance to reach the predeterminedvoltage. The user's finger causes the change in sensor charge pulsecount to increase since this value is based on the initialized referencecount minus the sensor reading.

The proximity switch assembly 20 is able to recognize the user's handmotion when the hand, particularly a finger, is in close proximity tothe proximity switches 22, to discriminate whether the intent of theuser is to activate a switch 22, explore for a specific switch buttonwhile focusing on higher priority tasks, such as driving, or is theresult of a task such as adjusting the rearview mirror that has nothingto do with actuation of a proximity switch 22. The proximity switchassembly 20 may operate in an exploration or hunting mode which enablesthe user to explore the keypads or buttons by passing or sliding afinger in close proximity to the switches without triggering anactivation of a switch until the user's intent is determined. Theproximity switch assembly 20 monitors amplitude of a signal generated inresponse to the activation field, determines a differential change inthe generated signal, and generates an activation output when thedifferential signal exceeds a threshold. As a result, exploration of theproximity switch assembly 20 is allowed, such that users are free toexplore the switch interface pad with their fingers withoutinadvertently triggering an event, the interface response time is fast,activation happens when the finger contacts a surface panel, andinadvertent activation of the switch is prevented or reduced.

Referring to FIG. 6, as the user's finger 34 approaches a switch 22associated with signal channel 1, the finger 34 enters the activationfield 32 associated with the sensor 24 which causes disruption to thecapacitance, thereby resulting in a sensor count increase as shown bysignal 50A having a typical activation motion profile. An entry rampslope method may be used to determine whether the operator intends topress a button or explore the interface based on the slope of the entryramp in signal 50A of the channel 1 signal rising from point 52 wheresignal 50A crosses the level active (LVL_ACTIVE) count up to point 54where signal 50A crosses the level threshold (LVL_THRESHOLD) count,according to one embodiment. The slope of the entry ramp is thedifferential change in the generated signal between points 52 and 54which occurred during the time period between times t_(th) and t_(ac).Because the numerator level threshold-level active generally changesonly as the presence of gloves is detected, but is otherwise a constant,the slope can be calculated as just the time expired to cross from levelactive to level threshold referred to as t_(active2threshold) which isthe difference between time t_(th) and t_(ac). A direct push on a switchpad typically may occur in a time period referred to t_(directpush) inthe range of about 40 to 60 milliseconds. If the timet_(active2threshold) is less than or equal to the direct push timet_(directpush), then activation of the switch is determined to occur.Otherwise, the switch is determined to be in an exploration mode.

According to another embodiment, the slope of the entry ramp may becomputed as the difference in time from the time t_(ac) at point 52 totime t_(pk) to reach the peak count value at point 56, referred to astime t_(active2peak). The time t_(active2peak), may be compared to adirect push peak, referred to as t_(direct-push-pk) which may have avalue of 100 milliseconds according to one embodiment. If timet_(active2peak) is less than or equal to the t_(direct) _(—) _(push)_(—) _(pk) activation of the switch is determined to occur. Otherwise,the switch assembly operates in an exploration mode.

In the example shown in FIG. 6, the channel 1 signal is shown increasingas the capacitance disturbance increases rising quickly from point 52 topeak value at point 56. The proximity switch assembly 20 determines theslope of the entry ramp as either time period t_(active2threshold) ort_(active2peak) for the signal to increase from the first thresholdpoint 52 to either the second threshold at point 54 or the peakthreshold at point 56. The slope or differential change in the generatedsignal is then used for comparison with a representative direct pushthreshold t_(direct) _(—) _(push) or t_(direct) _(—) _(push) _(—) _(pk)to determine activation of the proximity switch. Specifically, when timet_(active2peak) is less than the t_(direct) _(—) _(push) ort_(active2threshold) is less than t_(direct) _(—) _(push), activation ofthe switch is determined. Otherwise, the switch assembly remains in theexploration mode.

Referring to FIG. 7, one example of a sliding/exploration motion acrosstwo switches is illustrated as the finger passes or slides through theactivation field of two adjacent proximity sensors shown as signalchannel 1 labeled 50A and signal channel 2 labeled 50B. As the user'sfinger approaches a first switch, the finger enters the activation fieldassociated with the first switch sensor causing the change in sensorcount on signal 50A to increase at a slower rate such that a lesseneddifferential change in the generated signal is determined. In thisexample, the profile of signal channel 1 experiences a change in timet_(active2peak) that is not less than or equal to t_(direct) _(—)_(push), thereby resulting in entering the hunting or exploration mode.Because the t_(active2threshold) is indicative of a slow differentialchange in the generated signal, no activation of the switch button isinitiated, according to one embodiment. According to another embodiment,because the time t_(active2peak) is not less than or equal to t_(direct)_(—) _(push) _(—) _(pk), indicative of a slow differential change in agenerated signal, no activation is initiated, according to anotherembodiment. The second signal channel labeled 50B is shown as becomingthe maximum signal at transition point 58 and has a rising change in Δsensor count with a differential change in the signal similar to that ofsignal 50A. As a result, the first and second channels 50A and 50Breflect a sliding motion of the finger across two capacitive sensors inthe exploration mode resulting in no activation of either switch. Usingthe time period t_(active2threshold) or t_(active2peak), a decision canbe made to activate or not a proximity switch as its capacitance levelreaches the signal peak.

For a slow direct push motion such as shown in FIG. 8, additionalprocessing may be employed to make sure that no activation is intended.As seen in FIG. 8, the signal channel 1 identified as signal 50A isshown more slowly rising during either time period t_(active2threshold)or t_(active2peak) which would result in the entering of the explorationmode. When such a sliding/exploration condition is detected, with thetime t_(active2threshold) greater than t_(direct) _(—) _(push) if thechannel failing the condition was the first signal channel entering theexploration mode and it is still the maximum channel (channel with thehighest intensity) as its capacitance drops below LVL_KEY_UP Thresholdat point 60, then activation of the switch is initiated.

Referring to FIG. 9, a fast motion of a user's finger across theproximity switch assembly is illustrated with no activation of theswitches. In this example, the relatively large differential change inthe generated signal for channels 1 and 2 are detected, for bothchannels 1 and 2 shown by lines 50A and 50B, respectively. The switchassembly employs a delayed time period to delay activation of a decisionuntil the transition point 58 at which the second signal channel 50Brises above the first signal channel 50A. The time delay could be setequal to time threshold t_(direct) _(—) _(push) _(—) _(pk) according toone embodiment. Thus, by employing a delay time period beforedetermining activation of a switch, the very fast exploration of theproximity keypads prevents an unintended activation of a switch. Theintroduction of the time delay in the response may make the interfaceless responsive and may work better when the operator's finger motion issubstantially uniform.

If a previous threshold event that did not result in activation wasrecently detected, the exploration mode may be entered automatically,according to one embodiment. As a result, once an inadvertent actuationis detected and rejected, more caution may be applied for a period oftime in the exploration mode.

Another way to allow an operator to enter the exploration mode is to useone or more properly marked and/or textured areas or pads on the switchpanel surface associated with the dedicated proximity switches with thefunction of signaling the proximity switch assembly of the intent of theoperator to blindly explore. The one or more exploration engagement padsmay be located in an easy to reach location not likely to generateactivity with other signal channels. According to another embodiment, anunmarked, larger exploration engagement pad may be employed surroundingthe entire switch interface. Such an exploration pad would likely beencountered first as the operator's hand slides across the trim in theoverhead console looking for a landmark from which to start blindexploration of the proximity switch assembly.

Once the proximity sensor assembly determines whether an increase in thechange in sensor count is a switch activation or the result of anexploration motion, the assembly proceeds to determine whether and howthe exploration motion should terminate or not in an activation ofproximity switch. According to one embodiment, the proximity switchassembly looks for a stable press on a switch button for at least apredetermined amount of time. In one specific embodiment, thepredetermined amount of time is equal to or greater than 50milliseconds, and more preferably about 80 milliseconds. Examples of theswitch assembly operation employing a stable time methodology isillustrated in FIGS. 10-13.

Referring to FIG. 10, the exploration of three proximity switchescorresponding to signal channels 1-3 labeled as signals 50A-50C,respectively, is illustrated while a finger slides across first andsecond switches in the exploration mode and then activates the thirdswitch associated with signal channel 3. As the finger explores thefirst and second switches associated with channels 1 and 2, noactivation is determined due to no stable signal on lines 50A and 50B.The signal on line 50A for channel 1 begins as the maximum signal valueuntil channel 2 on line 50B becomes the maximum value and finallychannel 3 becomes a maximum value. Signal channel 3 is shown having astable change in sensor count near the peak value for a sufficient timeperiod t_(stable) such as 80 milliseconds which is sufficient toinitiate activation of the corresponding proximity switch. When thelevel threshold trigger condition has been met and a peak has beenreached, the stable level method activates the switch after the level onthe switch is bound in a tight range for at least the time periodt_(stable). This allows the operator to explore the various proximityswitches and to activate a desired switch once it is found bymaintaining position of the user's finger in proximity to the switch fora stable period of time t_(stable).

Referring to FIG. 11, another embodiment of the stable level method isillustrated in which the third signal channel on line 50C has a changein sensor count that has a stable condition on the descent of thesignal. In this example, the change in sensor count for the thirdchannel exceeds the level threshold and has a stable press detected forthe time period t_(stable) such that activation of the third switch isdetermined.

According to another embodiment, the proximity switch assembly mayemploy a virtual button method which looks for an initial peak value ofchange in sensor count while in the exploration mode followed by anadditional sustained increase in the change in sensor count to make adetermination to activate the switch as shown in FIGS. 12 and 13. InFIG. 12, the third signal channel on line 50C rises up to an initialpeak value and then further increases by a change in sensor countC_(Vb). This is equivalent to a user's finger gently brushing thesurface of the switch assembly as it slides across the switch assembly,reaching the desired button, and then pressing down on the virtualmechanical switch such that the user's finger presses on the switchcontact surface and increases the amount of volume of the finger closerto the switch. The increase in capacitance is caused by the increasedsurface of the fingertip as it is compressed on the pad surface. Theincreased capacitance may occur immediately following detection of apeak value shown in FIG. 12 or may occur following a decline in thechange in sensor count as shown in FIG. 13. The proximity switchassembly detects an initial peak value followed by a further increasedchange in sensor count indicated by capacitance C_(vb) at a stable levelor a stable time period t_(stable). A stable level of detectiongenerally means no change in sensor count value absent noise or a smallchange in sensor count value absent noise which can be predeterminedduring calibration.

It should be appreciated that a shorter time period t_(stable) mayresult in accidental activations, especially following a reversal in thedirection of the finger motion and that a longer time period t_(stable)may result in a less responsive interface.

It should also be appreciated that both the stable value method and thevirtual button method can be active at the same time. In doing so, thestable time t_(stable) can be relaxed to be longer, such as one second,since the operator can always trigger the button using the virtualbutton method without waiting for the stable press time-out.

The proximity switch assembly may further employ robust noise rejectionto prevent annoying inadvertent actuations. For example, with anoverhead console, accidental opening and closing of the moonroof shouldbe avoided. Too much noise rejection may end up rejecting intendedactivations, which should be avoided. One approach to rejecting noise isto look at whether multiple adjacent channels are reporting simultaneoustriggering events and, if so, selecting the signal channel with thehighest signal and activating it, thereby ignoring all other signalchannels until the release of the select signal channel.

The proximity switch assembly 20 may include a signature noise rejectionmethod based on two parameters, namely a signature parameter that is theratio between the channel between the highest intensity (max_channel)and the overall cumulative level (sum_channel), and the dac parameterwhich is the number of channels that are at least a certain ratio of themax_channel. In one embodiment, the dac α_(dac)=0.5. The signatureparameter may be defined by the following equation:

${signature} = {\frac{max\_ channel}{sum\_ channel} = {\frac{\max_{{i = 0},n}{channel}_{i}}{\sum\limits_{{i = 0},n}{channel}_{i}}.}}$

The dac parameter may be defined by the following equation:

dac=^(∀channels) ^(i) ^(>α) ^(dac) max_channel.

Depending on dac, for a recognized activation not to be rejected, thechannel generally must be clean, i.e., the signature must be higher thana predefined threshold. In one embodiment, α_(dac=1)=0.4, andα_(dac=2)=0.67. If the dac is greater than 2, the activation is rejectedaccording to one embodiment.

When a decision to activate a switch or not is made on the descendingphase of the profile, then instead of max_channel and sum_channel theirpeak values peak_max_channel and peak_sum_channel may be used tocalculate the signature. The signature may have the following equation:

${signature} = {\frac{{peak\_ max}{\_ channel}}{{peak\_ sum}{\_ channel}} = {\frac{\max ( {{max\_ channel}(t)} )}{\max ( {{sum\_ channel}(t)} )}.}}$

A noise rejection triggers hunting mode may be employed. When a detectedactivation is rejected because of a dirty signature, the hunting orexploration mode should be automatically engaged. Thus, when blindlyexploring, a user may reach with all fingers extended looking toestablish a reference frame from which to start hunting. This maytrigger multiple channels at the same time, thereby resulting in a poorsignature.

Referring to FIG. 14, a state diagram is shown for the proximity switchassembly 20 in a state machine implementation, according to oneembodiment. The state machine implementation is shown having five statesincluding SW_NONE state 70, SW_ACTIVE state 72, SW_THRESHOLD state 74,SW_HUNTING state 76 and SWITCH_ACTIVATED state 78. The SW_NONE state 70is the state in which there is no sensor activity detected. TheSW_ACTIVE state is the state in which some activity is detected by thesensor, but not enough to trigger activation of the switch at that pointin time. The SW_THRESHOLD state is the state in which activity asdetermined by the sensor is high enough to warrant activation,hunting/exploration, or casual motion of the switch assembly. TheSW_HUNTING state 76 is entered when the activity pattern as determinedby the switch assembly is compatible with the exploration/huntinginteraction. The SWITCH_ACTIVATED state 78 is the state in whichactivation of a switch has been identified. In the SWITCH_ACTIVATEDstate 78, the switch button will remain active and no other selectionwill be possible until the corresponding switch is released.

The state of the proximity switch assembly 20 changes depending upon thedetection and processing of the sensed signals. When in the SW_NONEstate 70, the system 20 may advance to the SW_ACTIVE state 72 when someactivity is detected by one or more sensors. If enough activity towarrant either activation, hunting or casual motion is detected, thesystem 20 may proceed directly to the SW_THRESHOLD state 74. When in theSW_THRESHOLD state 74, the system 20 may proceed to the SW_HUNTING state76 when a pattern indicative of exploration is detected or may proceeddirectly to switch activated state 78. When a switch activation is inthe SW_HUNTING state, an activation of the switch may be detected tochange to the SWITCH_ACTIVATED state 78. If the signal is rejected andinadvertent action is detected, the system 20 may return to the SW_NONEstate 70.

Referring to FIG. 15, the main method 100 of monitoring and determiningwhen to generate an activation output with the proximity switcharrangement is shown, according to one embodiment. Method 100 begins atstep 102 and proceeds to step 104 to perform an initial calibrationwhich may be performed once. The calibrated signal channel values arecomputed from raw channel data and calibrated reference values bysubtracting the reference value from the raw data in step 106. Next, atstep 108, from all signal channel sensor readings, the highest countvalue referenced as max_channel and the sum of all channel sensorreadings referred to as sum_channel are calculated. In addition, thenumber of active channels is determined. At step 110, method 100calculates the recent range of the max_channel and the sum_channel todetermine later whether motion is in progress or not.

Following step 110, method 100 proceeds to decision step 112 todetermine if any of the switches are active. If no switch is active,method 100 proceeds to step 114 to perform an online real-timecalibration, and then to step 115 to process an instant recalibration.The instant recalibration may be used to quickly initialize andcalibrate the proximity switches at start up and instantaneouslyrecalibrates the signal count when the signal is stuck either high orlow. This includes both an immediate positive recalibration and animmediate negative recalibration. The process real-time calibration step114 provides a slower ongoing drift compensation to provide continuousdrift compensation which may include an ultra-fast drift compensation, adrift compensation lock, and no double compensation processing.Otherwise, method 116 processes the switch release at step 116.Accordingly, if a switch was already active, then method 100 proceeds toa module where it waits and locks all activity until its release.

Following the real-time calibration, method 100 proceeds to decisionstep 118 to determine if there is any channel lockout indicative ofrecent activation and, if so, proceeds to step 120 to decrease thechannel lockout timer. If there are no channel lockouts detected, method100 proceeds to decision step 122 to look for a new max_channel. If thecurrent max_channel has changed such that there is a new max_channel,method 100 proceeds to step 124 to reset the max_channel, sum theranges, and set the threshold levels. Thus, if a new max_channel isidentified, the method resets the recent signal ranges, and updates, ifneeded, the hunting/exploration parameters. If the switch_status is lessthan SW_ACTIVE, then the hunting/exploration flag is set equal to trueand the switch status is set equal to SW_NONE. In addition, step 124,the rate flag is reset. Additionally, the rate flag is reset in step124. Following step 124, routine 100 proceeds to step 131 to update therate flag. The rate flag enables activation of the switch when themonitored rate of change of the Δ signal count, such as an average rateof change, exceeds a valid activation rate, thereby preventing falseactivations due to changes in condensation. When the rate flag is set,activation of the switch is allowed. When the rate flag is not set,activation of the switch is prevented.

If the current max_channel has not changed, method 100 proceeds to step126 to process the max_channel naked (no glove) finger status. This mayinclude processing the logic between the various states as shown in thestate diagram of FIG. 14. Following step 126, method 100 proceeds todecision step 128 to determine if any switch is active. If no switchactivation is detected, method 100 proceeds to step 130 to detect apossible glove presence on the user's hand. The presence of a glove maybe detected based on a reduced change in capacitance count value. Method100 then proceeds to step 131 to update the rate flag and then proceedsto step 132 to update the past history of the max_channel andsum_channel. The index of the active switch, if any, is then output tothe software hardware module at step 134 before ending at step 136.

When a switch is active, a process switch release routine is activatedwhich is shown in FIG. 16. The process switch release routine 116 beginsat step 140 and proceeds to decision step 142 to determine if the activechannel is less than LVL_RELEASE and, if so, ends at step 152. If theactive channel is less than the LVL_RELEASE then routine 116 proceeds todecision step 144 to determine if the LVL_DELTA_THRESHOLD is greaterthan 0 and, if not, proceeds to step 146 to raise the threshold level ifthe signal is stronger. This may be achieved by decreasingLVL_DELTA_THRESHOLD. Step 146 also sets the threshold, release andactive levels. Routine 116 then proceeds to step 148 to reset thechannel max and sum history timer for long stable signalhunting/exploration parameters. The switch status is set equal toSW_NONE at step 150 before ending at step 152. To exit the processswitch release module, the signal on the active channel has to dropbelow LVL_RELEASE, which is an adaptive threshold that will change asglove interaction is detected. As the switch button is released, allinternal parameters are reset and a lockout timer is started to preventfurther activations before a certain waiting time has elapsed, such as100 milliseconds. Additionally, the threshold levels are adapted infunction of the presence of gloves or not.

Referring to FIG. 17, a routine 200 for determining the status changefrom SW_NONE state to SW_ACTIVE state is illustrated, according to oneembodiment. Routine 200 begins at step 202 to process the SW_NONE state,and then proceeds to decision step 204 to determine if the max_channelis greater than LVL_ACTIVE. If the max_channel is greater thanLVL_ACTIVE, then the proximity switch assembly changes state fromSW_NONE state to SW_ACTIVE state and ends at step 210. If themax_channel is not greater than LVL_ACTIVE, the routine 200 checks forwhether to reset the hunting flag at step 208 prior to ending at step210. Thus, the status changes from SW_NONE state to SW_ACTIVE state whenthe max_channel triggers above LVL_ACTIVE. If the channels stays belowthis level, after a certain waiting period, the hunting flag, if set,gets reset to no hunting, which is one way of departing from the huntingmode.

Referring to FIG. 18, a method 220 for processing the state of theSW_ACTIVE state changing to either SW_THRESHOLD state or SW_NONE stateis illustrated, according to one embodiment. Method 220 begins at step222 and proceeds to decision step 224. If max_channel is not greaterthan LVL_THRESHOLD, then method 220 proceeds to step 226 to determine ifthe max_channel is less than LVL_ACTIVE and, if so, proceeds to step 228to change the switch status to SW_NONE. Accordingly, the status of thestate machine moves from the SW_ACTIVE state to SW_NONE state when themax_channel signal drops below LVL_ACTIVE. A delta value may also besubtracted from LVL_ACTIVE to introduce some hysteresis. If themax_channel is greater than the LVL_THRESHOLD, then routine 220 proceedsto decision step 230 to determine if a recent threshold event or a glovehas been detected and, if so, sets the hunting on flag equal to true atstep 232. At step 234, method 220 switches the status to SW_THRESHOLDstate before ending at step 236. Thus, if the max_channel triggers abovethe LVL_THRESHOLD, the status changes to SW_THRESHOLD state. If glovesare detected or a previous threshold event that did not result inactivation was recently detected, then the hunting/exploration mode maybe entered automatically.

Referring to FIG. 19, a method 240 of determining activation of a switchfrom the SW_THRESHOLD state is illustrated, according to one embodiment.Method 240 begins at step 242 to process the SW_THRESHOLD state andproceeds to decision block 244 to determine if the signal is stable orif the signal channel is at a peak and, if not, ends at step 256. Ifeither the signal is stable or the signal channel is at a peak, thenmethod 240 proceeds to decision step 246 to determine if the hunting orexploration mode is active and, if so, skips to step 250. If the huntingor exploration mode is not active, method 240 proceeds to decision step248 to determine if the signal channel is clean and fast active isgreater than a threshold and, if so, proceeds to decision step 249 todetermine if the rate flag is set and, if so, sets the switch activeequal to the maximum channel at step 250. If the signal channel is notclean and fast active is not greater than the threshold, method 240proceeds directly to step 252. Similarly, if the rate flag is not set,method 240 proceeds directly to step 252. At decision block 252, method240 determines if there is a switch active and, if so, ends at step 256.If there is no switch active, method 240 proceeds to step 254 toinitialize the hunting variables SWITCH_STATUS set equal toSWITCH_HUNTING and PEAK MAX BASE equal to MAX CHANNELS, prior to endingat step 256.

In the SW_THRESHOLD state, no decision is taken until a peak inMAX_CHANNEL is detected. Detection of the peak value is conditioned oneither a reversal in the direction of the signal, or both theMAX_CHANNEL and SUM_CHANNEL remaining stable (bound in a range) for atleast a certain interval, such as 60 milliseconds. Once the peak isdetected, the hunting flag is checked. If the hunting mode is off, theentry ramp slope method is applied. If the SW_ACTIVE to SW_THRESHOLD wasless than a threshold such as 16 milliseconds, and the signature ofnoise rejection method indicates it as a valid triggering event, itproceeds to step 249, otherwise it skips to step 252. At step 249, ifthe rate flag is set, then the state is changed to SWITCH_ACTIVE and theprocess is transferred to the PROCESS_SWITCH_RELEASE module, otherwisethe hunting flag is set equal to true. If the delayed activation methodis employed instead of immediately activating the switch, the state ischanged to SW_DELAYED_ACTIVATION where a delay is enforced at the end ofwhich, if the current MAX_CHANNEL index has not changed, the button isactivated.

Referring to FIG. 20, a virtual button method implementing theSW_HUNTING state is illustrated, according to one embodiment. The method260 begins at step 262 to process the SW_HUNTING state and proceeds todecision step 264 to determine if the MAX_CHANNEL has dropped below theLVL_KEYUP_THRESHOLD and, if so, sets the MAX_PEAK_BASE equal to MIN(MAX_PEAK_BASE, MAX_CHANNEL) at step 272. If the MAX_CHANNEL has droppedbelow the LVL_KEYUP_THRESHOLD, then method 260 proceeds to step 266 toemploy the first channel triggering hunting method to check whether theevent should trigger the button activation. This is determined bydetermining if the first and only channel is traversed and the signal isclean. If so, method 260 proceeds to decision step 269 to determine ifthe rate flag is set and, if so, sets the switch active equal to themaximum channel at step 270, and sets the skip calibration flag at step271, and sets the skip calibration timer equal to NS at step 273 beforeending at step 282. If the rate flag is not set, method 260 ends at step282. If the first and only channel is not traversed or if the signal isnot clean, method 260 proceeds to step 268 to give up and determine aninadvertent actuation and to set the SWITCH_STATUS equal to SW_NONEstate before ending at step 282.

Following step 272, method 260 proceeds to decision step 274 todetermine if the channel clicked. This can be determined by whetherMAX_CHANNEL is greater than MAX_PEAK_BASE plus delta. If the channel hasclicked, method 260 proceeds to decision step 276 to determine if thesignal is stable and clean and, if so, proceeds to decision step 279 todetermine if the rate flag is set and, if so, sets the switch activestate to the maximum channel at step 280 before ending at step 282. Ifthe channel has not clicked, method 260 proceeds to decision step 278 tosee if the signal is long, stable and clean and, if so, proceeds todecision step 279 to determine if the rate flag is set and, if so,proceeds to step 280 to set the switch active equal to the maximumchannel, sets the skip calibration step at step 271, sets the skipcalibration timer equal to NS at step 273, and then ends at step 282. Ifthe rate flag is not set, method 260 ends at step 282.

Accordingly, the proximity switch monitoring and determination routineadvantageously determines activation of the proximity switches. Theroutine advantageously allows for a user to explore the proximity switchpads which can be particularly useful in an automotive application wheredriver distraction can be avoided.

The proximity sensors may be manufactured using thin film technologywhich may include printing a conductive ink mixed with a solvent toachieve a desired electrical circuit layout. The printed ink may beformed into a sheet which is cured in a curing process using controlledheating and light/heat strobing to remove the solvent. Variations inexisting curing processes may result in residual solvent trapped in theelectrical traces which may result in sensors that are sensitive tochanges in temperature and humidity. As condensation builds up on aproximity sensor, the raw capacitive signal and the Δ signal count maychange. The condensation buildup may occur in a vehicle, for example,when driving in a rain storm prior to turning on the defroster or whenentering the vehicle in a hot, humid summer day and the HVAC fan blowshumidity onto the switches. Likewise, as condensation dries up, the rawcapacitive signal and the Δ signal count may change in the oppositedirection. One example of a Δ signal count variation during a change incondensation is shown in FIG. 21. The signal 50 is shown increasing invalue as a result of a changing condensation, such as a reduction incondensation, which may trigger a false activation event if the signal50 reaches a particular threshold value. The Δ sensor count signal 50may decrease similarly when condensation is increased which may alsoresult in the triggering of a false activation event. In order tocompensate for condensation and prevent or reduce false activations, theproximity switch assembly 20 and method 100 employ a rate monitoringroutine to determine valid switch activations from faulty condensationevents, and also employs one or more calibration routines to minimizeadverse effects such as those caused by changes in condensation.

Referring to FIG. 22, the Δ signal count signal 50 is illustrated duringa potential switch activation and having a particular signal samplingrate with successive acquired signal samples. The signal samples includethe current signal sample C₀, the previously monitored signal sampleC⁻¹, the next previously monitored signal sample C⁻², and the nextpreviously monitored signal sample C⁻³. As a result, a history ofsamples of Δ sensor count signals 50 are monitored and employed by therate monitoring routine. The rate monitoring routine monitors amplitudeof a signal generated in response to the activation field, determines arate of change in the generated signal, compares the rate of change to athreshold rate and generates an output based on the rate of changeexceeding the threshold rate. The generated output is then employed by amethod of activating a proximity sensor. In one embodiment, the rateflag enables activation of the proximity switch when set and preventsactivation of the proximity switch when the rate flag is not set. Therate of change may be a moving average rate of change taken over morethan two signal samples such as samples C₀-C⁻³. To eliminate or removenoise from the signal rise estimate, the moving average may be computedsuch as by a low pass filter to enable activation of the sensor andprevent false activation due to condensation. The moving average may becomputed by computing a difference between a first count signal and asecond count signal, wherein the first and second count values are takenover a time period including more than two samples. In addition, therate monitoring routine may determine incremental rate of change valuesbetween successive signal samples such as samples C₀ and C⁻¹ and furthercompare the successive rate of change values to a step rate threshold,wherein the activation output is generated when the successive rate ofchange signals exceed the step rate threshold. Further, the rate ofchange in the generated signal may be the difference between twosuccessive signal counts such as samples C⁻⁰ and C⁻¹ compared to a fastactivation rate, according to one embodiment. It is generally known thatcondensation will rise at a rate slower than an activation by a usersuch that slower rates of activation are prevented from activating thesensor when the threshold determination value is reached due tocondensation.

The rate monitoring routine 300 is shown in FIG. 23 implemented as anupdate rate flag routine beginning at step 302. Routine 300 proceeds todecision step 304 to calculate the difference between the currentmaximum Δ sensor count value MAX_CH(t) and a prior determined maximum Δsensor count value MAX_CH(t−3) and determine whether the calculateddifference is greater than a valid activation rate. The differencebetween the maximum Δ sensor count values over a plurality of signalsamples, such as four samples C₀-C⁻³ are taken at successive samplingtimes t, t−1, t−2 and t−3. As such, the difference provides a movingaverage of the Δ sensor count. If the moving average is greater than theactivation rate, then method 300 proceeds to decision step 306. Atdecision step 306, routine 300 compares each of the incremental changein maximum Δ sensor count signals MAX_CH(t) between successive monitoredsamples and compares the incremental differences to a step rate value.This includes comparing the current maximum channel signal MAX_CH(t) tothe prior maximum channel signal MAX_CH(t−1) to see if the difference isgreater than the step rate, comparing the prior maximum channel signalMAX_CH(t−1) to the second prior maximum channel signal MAX_CH (t−2) tosee if the difference is greater than the step rate, and comparing thesecond prior maximum channel signal MAX_CH(t−2) to the third priormaximum channel signal MAX_CH(t−3) to see if the difference is greaterthan the step rate. If the differences in each of the incremental signalchannels are greater than the step rate value, then method 300 proceedsto step 310 to set the rate flag before ending at step 312. If any ofthe differences in incremental signal channels is not greater than thestep rate value, then routine 300 ends at step 312. Once the rate flagis set, the monitoring routine is enabled to activate a sensor output.Setting of the rate flag reduces or eliminates false activations thatmay be due to condensation effects.

Routine 300 includes decision step 308 which is implemented if thedifference in the A sensor count value does not exceed the validactivation rate. Decision step 308 compares the difference of thecurrent maximum channel signal MAX_CH(t) to the prior maximum channelsignal MAX_CH(t−1) to a valid fast activation rate. If the differenceexceeds the valid fast activation rate, method 300 proceeds to set therate flag at step 310. Decision step 308 allows for a rapidly increasingdifference in the Δ sensor count for the current signal sample from theprior signal sample to enable activation and ignores the prior samplehistory. Thus, the rate flag is set if the difference between the twomost recent Δ sensor count value indicates a very fast rate.

In one embodiment, the valid activation rate may be set at a value of 50counts, the step rate may be set at a value of 1 count, and the validfast activation rate may be set at a value of 100 counts. As a result,the valid fast activation rate is about two times greater than the validactivation rate, according to one embodiment. The valid fast activationrate is greater than the valid activation rate. However, it should beappreciated that the valid activation rate, the valid fast activationrate and the step rate may be set at different values according to otherembodiments.

The rate monitoring routine 300 monitors the maximum signal channelvalue and sets or resets the rate flag for the maximum signal channel,according to the embodiment shown. By monitoring the maximum signalchannel, the signal most likely to have an activation is continuallymonitored and used to enable the rate flag to minimize the effects ofcondensation. It should be appreciated that any of the signal channels,other than the maximum signal channel, may be monitored according toother embodiments. The rate monitoring routine 300 sets and resets therate flag for the maximum signal channel, however, the rate monitoringroutine 300 may set and reset the rate flag for other signal channels inaddition to the maximum signal channel, according to furtherembodiments. It should further be appreciated that the sampling rate foracquiring Δ count signal samples may vary. A faster sampling rate willprovide increased speed for determining an activation and identifyingthe presence of condensation. The signal monitoring may be continuous,and noise filtering may be employed to eliminate noise.

Accordingly, the rate monitoring routine 300 monitors the rate of changeof the Δ sensor count and enables activation of a switch provided thatthe rate is of a sufficient value. This enables the avoidance of falseactivations due to condensation and other potential effects. Theproximity switch assembly is thereby able to generate an output signalindicative of switch activation based on the rate flag being set andprevent activation when the rate flag is not set.

The rate monitoring routine advantageously reduces or eliminates faultyactivations caused by condensation. However, as the signal count risesor drops as condensation events occur, the proximity switches may becomeunresponsive until ongoing drift compensation brings the signal countback to zero again. Conventional calibration routines typically aregenerally slow at compensating for condensation effects, and henceresult in undue time delay during which the proximity switches may notbe activated and are essentially locked out. To reduce the lockoutperiod, an advanced calibration routine may be employed to recalibratethe Δ sensor count signals for each proximity switch. The calibrationroutine may be employed with or without the rate monitoring routine 300to advantageously minimize the effects of condensation and minimize anylockout time.

The calibration routine includes an on-going calibration routine thatcompensates for drift by slowly pulling the signal count back to apredefined value, which is a value of zero, according to one embodiment.During the calibration phase, the proximity switch assembly generallymay be locked out and unresponsive to touch by a user, and hence notable to activate one or more switches. The calibration routine furtherincludes an instant recalibration and initializes and calibrates theproximity switches at startup and instantaneously re-calibrates the Δsensor count signal when the signal is stuck either high or low.

The instant recalibration includes an immediate positive recalibrationand an immediate negative recalibration. The immediate positiverecalibration occurs after the largest signal channel is above a toohigh first threshold for a first time period, such as 4 consecutiveseconds, and after the largest signal channel reaches its peak value.All signal channels that are positive are instantaneously recalibratedto a predefined value, such as a value of zero, according to oneembodiment. Waiting for the peak of the maximum signal prevents asituation in which a quick succession of instant recalibration resultsin signal spike.

The immediate negative recalibration occurs after all signals arenegative, with the lowest signal being below a too low second thresholdfor a second time period, such as 1 consecutive second, and after thelowest signal channel has reached its bottom. All signal channels areinstantly recalibrated to a predefined value, such as zero, according toone embodiment. Waiting for the bottom of the lowest channel prevents asituation in which a quick succession of instant recalibration resultsin a signal spike.

The ongoing real-time calibration performs continuous drift compensationto stay ahead of condensation shifts and may include one or more of thefollowing features. The ongoing drift compensation may include anultra-fast drift compensation in which the compensation rate is close toa typical activation, according to one embodiment. According to oneexample, the compensation drift may be set to 100 counts per second,with a typical activation generating a signal with 200 Δ sensor countsin about half a second. The increase in drift compensationadvantageously eliminates problems, such as hidden switches, potentialactivation of deep field sensors, such as dome lamps by moving a user'shand in proximity without touching, and cutting the lockout time inducedby severe compensation events to a minimum time period such as less than5 seconds.

The ongoing drift compensation further employs a drift compensation lockto prevent situations in which an operator more slowly lingers whilehunting for a switch which may make the system unresponsive. The driftcompensation lock temporarily stops drift compensation when a fast-risesignal is detected. To prevent drift compensation to lock indefinitely,a countdown timer may be employed to reactivate drift compensation. Toreactivate drift compensation lock after the 4 second countdown, thelargest signal has to drop to zero first and then rise again. Driftcompensation may also be stopped when a switch is activated. If a switchis deemed stuck in the active state, an instant recalibration may occurimmediately and the switch may be deactivated.

The ongoing drift compensation routine may further employ a no doublecompensation subroutine to prevent compensation overshoot. Driftcompensation may be suspended for individual signal channels if the Δsensor count signal for the channel is already moving towards zerofaster than the drift compensation would achieve. This prevents thesignal channel from overshooting the recalibration value of zero as theultra-fast drift compensation occurs.

The processing of the instant recalibration routine 400 is illustratedin FIG. 24, beginning at step 402. Routine 400 proceeds to decision step404 to determine if the maximum signal channel (MAX_CH) is greater thanthe too high threshold (TOO_HIGH_THRESLD) for a first time period, suchas 4 seconds. If the maximum signal channel is greater than too highthreshold for more than 4 seconds, routine 400 proceeds to decision step406 to determine if the maximum signal channel has reached its peakvalue and, if so, performs an instant positive recalibration of allpositive signal channels that are greater than the zero threshold atstep 408, prior to ending at step 418. If the maximum signal channel hasnot yet peaked, routine 400 will proceed to end step 418 where theroutine 400 returns to the beginning of routine 400 to repeat the loopuntil the peak value is reached and instant recalibration is performed.

If the maximum signal channel is not greater than the too high thresholdfor greater than the first time period of 4 seconds, routine 400proceeds to decision step 410 to process the negative signal countsignals. Decision step 410 includes determining if the maximum channelis less than the too low threshold (TOO_LOW_THRESLD) for greater than asecond time period, such as 1 second. If the maximum channel is lessthan the too low threshold for greater than the second time period of 1second, then routine 400 proceeds to decision step 412 to determine ifthe maximum signal channel is bottomed out and, if so, proceeds todecision step 414 to determine if all signal channels are less than thenegative threshold (NEG_THRESLD). If the maximum channel is less thanthe too low threshold for more than 1 second and the maximum signalchannel is bottomed out and all channels are less than the negativethreshold, then routine 400 proceeds to perform an instant negativerecalibration of all signal channels at step 416 before ending at step418. The instant positive and negative recalibration steps 408 and 416include adjusting the Δ count value of all signal channels to a value ofzero, according to one embodiment. If any of decision blocks 410, 412,and 414 results in a negative decision, then routine 400 ends at step418 which returns to the beginning of routine 400 to repeat the routinesteps.

The processing of the real-time calibration routine 500 is illustratedin FIG. 25 beginning at step 502. Routine 500 proceeds to decision step504 to determine if a skip calibration timer (SKIP_CALIB_TIMER) isgreater than zero and, if so, decreases the skip calibration timer suchas by a time decrement at step 506, prior to ending at step 530. If theskip calibration timer is not greater than zero, routine 500 proceeds todecision step 508 to determine if the skip calibration flag(SKIP_CALIB_FLAG) is set and, if so, proceeds to decision step 510 todetermine if the maximum channel is not active. If the maximum channelis not active, routine 500 proceeds to reset the skip calibration flagat step 512 before proceeding to decision step 524. If the maximumchannel is active, routine 500 proceeds to decision step 514 todetermine if a time period Delta time elapsed since the lastcalibration, and if not, ends at step 530. If the Delta time has elapsedsince the last calibration, routine 500 proceeds to calculate a Deltareference (DELTA_REF) to add to the reference signal at step 516 and tocalculate the Delta signal channel (DELTA_CH) as the difference in thesignal between the current signal channel and the prior signal channelat step 518. Thereafter, routine 500 proceeds to decision step 520 todetermine if the Delta channel is greater than the Delta reference and,if so, ends at step 530. If the Delta channel is not greater than theDelta reference, routine 500 proceeds to step 522 to set the referenceequal to a reference summed with the Delta reference prior to ending atstep 530.

At decision step 524, routine 500 determines if the rate flag is setand, if so, proceeds to set the skip calibration flag at step 526 andsets the skip calibration timer to a value NS at step 528, prior toending at step 530. If the rate calibration flag is not set, routine 500proceeds to decision step 514. At end step 530, routine 500 returns tothe beginning to repeat the routine steps.

Referring to FIGS. 26A and 26B, Δ sensor count values for five signalchannels associated with five proximity switches are illustrated duringan instant positive recalibration according to the instant calibrationroutine. In this example, the five signal channels are shown labeledsignals 550A-550E, each of which is shown midway having positive signalsthat rise up due to condensation changes on the proximity switchassembly. The largest signal channel 550A is shown exceeding the toohigh threshold for a first or positive time period labeled T_(P) andreaching a peak value at point 560. Once the largest signal channel 550Ais above the too high threshold for time period T_(P) of four secondsand reaches its peak value at point 560 as shown in FIG. 26B, all signalchannels that are positive are instantly recalibrated to zero as shownby line 570. As a result, the effects of changes in condensation arequickly zeroed out due to the instant positive recalibration, therebyallowing for use of the proximity switch assembly without further delaydue to a locked out state. The ongoing real-time drift compensation mayfurther provide added ultra-fast drift compensation, thereby furtherreducing any potential lockout time.

The immediate negative recalibration is illustrated in the graphs shownin FIGS. 27A and 27B for five signal channels that experience negative Δsensor counts due to a change in condensation. The five signal channels650A-650E are all shown having signal values that drop from zero tonegative values due to change in condensation experienced by theproximity switches. When all signal channels are negative and the lowestsignal channel 650B drops below the too low threshold for a second ornegative time period T_(N) and the lowest signal channel 650B hasreached its bottom at point 660, all signal channels 650A-650E areinstantly recalibrated back to zero as shown by line 670 in FIG. 27B.Waiting for the bottom value in the lowest signal channel or the peakvalue in the highest signal channel prevents a situation in which aquick succession of recalibration signals may otherwise result in signalspikes. Instant negative recalibration advantageously reduces the timethat the switches may be locked out due to changes in condensation. Itshould be appreciated that the instant negative calibration routine maybe supplemented with the ultra-fast drift compensation which may furtherreduce the time of any switch lockout.

Accordingly, the proximity switch assembly and method of calibrating aproximity switch advantageously employ a calibration routine thatrecalibrates the signals to thereby avoid undue delay caused by lockoutdue to condensation changes. The calibration routine may be employed incombination with the rate monitoring routine or may be employed separateto avoid the problems associated with changes in condensation, therebyproviding the user with an efficiently and responsive proximity switchassembly.

It is to be understood that variations and modifications can be made onthe aforementioned structure without departing from the concepts of thepresent invention, and further it is to be understood that such conceptsare intended to be covered by the following claims unless these claimsby their language expressly state otherwise.

We claim:
 1. A method of calibrating a proximity switch comprising:generating an activation field with a proximity sensor; monitoringamplitude of a signal generated in response to the activation field;detecting the signal amplitude exceeding a threshold for a time period;and calibrating the signal by adjusting the signal to a predefined levelwhen the signal amplitude exceeds the threshold for the time period andreaches a peak value.
 2. The method of claim 1, wherein the methodcomprises generating an activation field for each of a plurality ofproximity sensors and monitoring amplitude of signals generated inresponse to the activation fields, wherein the step of calibratingcomprises calibrating all signals when a maximum signal is above a firstthreshold for a first time period and the maximum signal reaches a peakvalue.
 3. The method of claim 2, wherein the method determines when allsignals are negative and detects when a lowest signal is below a secondthreshold for a second time period, wherein the step of calibratingcomprises calibrating all signals when the lowest signal is below thesecond threshold for the second time period and the lowest signalreaches a bottom value.
 4. The method of claim 1, wherein the methodcomprises generating an activation field for each of a plurality ofproximity sensors and monitoring amplitude of signals generated inresponse to the activation fields, wherein the step of calibratingcomprises calibrating all signals on all signal channels when a lowestsignal is below a negative threshold for the time period and the lowestsignal reaches a bottom value.
 5. The method of claim 1, wherein thestep of calibrating the signal comprises resetting the signal to a valueof zero.
 6. The method of claim 1 further comprising the step ofcompensating for drift by incrementally adjusting the value of thesignal.
 7. The method of claim 6, wherein the drift compensation isstopped when a fast rise signal is detected.
 8. The method of claim 6,wherein the drift compensation is stopped when the signal is movingtoward zero faster than a rate of drift compensation.
 9. The method ofclaim 1, wherein the proximity switch is installed on a vehicle for useby a passenger in the vehicle.
 10. The method of claim 1, wherein theproximity switch comprises a capacitive switch comprising one or morecapacitive sensors.
 11. A proximity switch assembly comprising: aproximity switch comprising a proximity sensor providing an activationfield; control circuitry monitoring a signal responsive to theactivation signal, determining when the signal exceeds a threshold for atime period, and calibrating the signal when the maximum signal exceedsthe threshold for the time period and reaches a peak value.
 12. Theswitch assembly of claim 11, wherein proximity switch assembly comprisesa plurality of proximity switches each comprising a proximity sensorproviding an activation field, wherein the control circuitry generatesan activation field for each of a plurality of proximity sensors,monitors amplitude of signals generated in response to the activationfields and calibrates all signals when a maximum signal is above a firstthreshold for a first time period and the maximum signal reaches a peakvalue.
 13. The switch assembly of claim 12, wherein the controlcircuitry determines when all signals are negative, detects a lowestsignal below a second threshold for a second time period, and calibratesall signals when the lowest signal is below the threshold for the timeperiod and the lowest signal reaches a bottom value.
 14. The switchassembly of claim 11, wherein the proximity switch assembly comprises aplurality of proximity switches each comprising a proximity sensorproviding an activation field, wherein the control circuitry monitorsamplitude of signals generated in response to the activation fields, andcalibrates all signals when the lowest signal is below a negativethreshold for the time period and the lowest signal reaches a bottomvalue.
 15. The switch assembly of claim 11, wherein the controlcircuitry calibrates the signal by setting the signal to a value ofzero.
 16. The switch assembly of claim 11, wherein the control circuitryfurther compensates for drift by incrementally adjusting the value ofthe signal.
 17. The switch assembly of claim 11, wherein the controlcircuitry compensates for drift by incrementally adjusting the value ofthe signal and stops the drift compensation when the signal is movingtoward zero faster than a rate of drift compensation.
 18. The switchassembly of claim 11, wherein the proximity switch is installed in avehicle for use by a passenger of the vehicle.
 19. The switch assemblyof claim 11, wherein the proximity switch comprises a capacitive switchcomprising one or more capacitive sensors.
 20. A proximity switchassembly comprising: a plurality of proximity switches each comprising aproximity sensor providing an activation field; and control circuitryprocessing the activation field of each proximity switch to senseactivation, said control circuitry monitoring signals responsive to theactivation fields, determining when a maximum signal exceeds a thresholdfor a time period, and calibrating the signals when the maximum signalexceeds the threshold for the time period and reaches a peak value.